/*输入一串字符串，字符串的内容可能为任何字符。
使用map实现字符串的字符计数功能。
如输入：abbcccba!@#$$#@!
则显示(顺序可有不同)：
a:2
b:3
c:3
!:2
$:2
#:2
@:2
*/
#include<iostream>
#include<string>
#include<map>
using namespace std;
 
int main() {
	string str;
	map<char, int> map_s;
    cout<<"请输入字符串：";
    cin>>str;
    pair<map<char, int>::iterator, bool> ret;
    for (int i = 0; i < str.length(); ++i) 
    {
        ret = map_s.insert(pair<char, int>(str[i], 1));
        if (ret.second == false) 
        {
            ret.first->second++;
        }
    }
    map<char, int>::iterator iter = map_s.begin();
    for (; iter != map_s.end(); iter++) 
    {
        cout << iter->first << ':' << iter->second << endl;
    }
}